// 小明开发

// 为了解决多人开发中，小明定义的变量被小红修改，可以使用匿名函数闭包的方式
var moduleA = (function () {
    var name = '小明';
    var age = 18;

    var obj = {};

    function sum(num1, num2) {
        return num1 + num2;
    }

    var flag = true; // 注意这个flag变量，可能项目组其他成员也在自己的模块中定义了一个flag变量并且赋值，这样的话可能就会造成小明定义的变量的值，被小红更改了
    if (flag) {
        console.log(sum(10, 20));
    }

    obj.flag = flag;
    obj.sum = sum;

    return obj;

})()

// // 使用CommonJS导出
// var name = '小明';
// var age = 18;
// function sum(num1, num2) {
//     return num1 + num2;
// }
// var flag = true; // 注意这个flag变量，可能项目组其他成员也在自己的模块中定义了一个flag变量并且赋值，这样的话可能就会造成小明定义的变量的值，被小红更改了
// if (flag) {
//     console.log(sum(10, 20));
// }
// // 使用CommonJS导出模块，但现在不能这样写，这只是语法，实际上现在没有底层支撑，需要node环境
// module.export = {
//     flag: flag,
//     sum: sum
// }